The Thread Manager manages threads within an application context. It provides routines to create, get information about, schedule, and dispose of threads. The Process Manager, on the other hand, is responsible for switching the context between various application processes within the Macintosh multitasking environment. Figure 1 illustrates the relationship between the Thread Manager and the Process Manager.
Figure 1 Relationship of Thread Manager and Process Manager
Threads in an application are available to run only when the Process Manager schedules the application to run. For example, when the Process Managers switches in application A, its threads can run. The Thread Manager saves the thread context information each time it switches out one thread and schedules a different one to run. When the Process Manager switches in application B, the threads in application A are no longer available to run and the Thread Manager now manages the threads in application B.